home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Database How-To / Visual Basic 4 Database - How-to (The Waite Group)(1995).iso / query2.fr_ / query2.fr
Text File  |  1995-07-05  |  8KB  |  290 lines

  1. VERSION 4.00
  2. Begin VB.Form frmMain 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Publisher Parameter"
  5.    ClientHeight    =   2790
  6.    ClientLeft      =   1080
  7.    ClientTop       =   1515
  8.    ClientWidth     =   6720
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   0
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    Height          =   3195
  19.    Left            =   1020
  20.    LinkTopic       =   "Form1"
  21.    ScaleHeight     =   2790
  22.    ScaleWidth      =   6720
  23.    Top             =   1170
  24.    Width           =   6840
  25.    Begin VB.CommandButton cmdPublisher 
  26.       Caption         =   "&Publisher"
  27.       Height          =   435
  28.       Left            =   3720
  29.       TabIndex        =   15
  30.       Top             =   1980
  31.       Width           =   1095
  32.    End
  33.    Begin VB.CommandButton cmdClose 
  34.       Cancel          =   -1  'True
  35.       Caption         =   "&Close"
  36.       Height          =   435
  37.       Left            =   5160
  38.       TabIndex        =   14
  39.       Top             =   1980
  40.       Width           =   1155
  41.    End
  42.    Begin VB.CommandButton cmdMove 
  43.       Caption         =   ">|"
  44.       Height          =   435
  45.       Index           =   3
  46.       Left            =   2640
  47.       TabIndex        =   13
  48.       Top             =   1980
  49.       Width           =   495
  50.    End
  51.    Begin VB.CommandButton cmdMove 
  52.       Caption         =   ">"
  53.       Default         =   -1  'True
  54.       Height          =   435
  55.       Index           =   2
  56.       Left            =   2160
  57.       TabIndex        =   12
  58.       Top             =   1980
  59.       Width           =   495
  60.    End
  61.    Begin VB.CommandButton cmdMove 
  62.       Caption         =   "<"
  63.       Height          =   435
  64.       Index           =   1
  65.       Left            =   1680
  66.       TabIndex        =   11
  67.       Top             =   1980
  68.       Width           =   495
  69.    End
  70.    Begin VB.CommandButton cmdMove 
  71.       Caption         =   "|<"
  72.       Height          =   435
  73.       Index           =   0
  74.       Left            =   1200
  75.       TabIndex        =   10
  76.       Top             =   1980
  77.       Width           =   495
  78.    End
  79.    Begin VB.TextBox txtPublisher 
  80.       Height          =   315
  81.       Left            =   2640
  82.       TabIndex        =   9
  83.       Top             =   1380
  84.       Width           =   3855
  85.    End
  86.    Begin VB.TextBox txtYearPublished 
  87.       Height          =   315
  88.       Left            =   1320
  89.       TabIndex        =   8
  90.       Top             =   1380
  91.       Width           =   735
  92.    End
  93.    Begin VB.TextBox txtISBN 
  94.       Height          =   315
  95.       Left            =   1320
  96.       TabIndex        =   5
  97.       Top             =   960
  98.       Width           =   2295
  99.    End
  100.    Begin VB.TextBox txtTitle 
  101.       Height          =   315
  102.       Left            =   1320
  103.       TabIndex        =   3
  104.       Top             =   540
  105.       Width           =   5175
  106.    End
  107.    Begin VB.TextBox txtAuthor 
  108.       Height          =   315
  109.       Left            =   1320
  110.       TabIndex        =   1
  111.       Top             =   120
  112.       Width           =   2595
  113.    End
  114.    Begin VB.Label Label5 
  115.       AutoSize        =   -1  'True
  116.       BackColor       =   &H00C0C0C0&
  117.       Caption         =   "by:"
  118.       Height          =   195
  119.       Left            =   2220
  120.       TabIndex        =   7
  121.       Top             =   1440
  122.       Width           =   270
  123.    End
  124.    Begin VB.Label Label4 
  125.       AutoSize        =   -1  'True
  126.       BackColor       =   &H00C0C0C0&
  127.       Caption         =   "Published:"
  128.       Height          =   195
  129.       Left            =   300
  130.       TabIndex        =   6
  131.       Top             =   1440
  132.       Width           =   900
  133.    End
  134.    Begin VB.Label Label3 
  135.       AutoSize        =   -1  'True
  136.       BackColor       =   &H00C0C0C0&
  137.       Caption         =   "ISBN:"
  138.       Height          =   195
  139.       Left            =   300
  140.       TabIndex        =   4
  141.       Top             =   1020
  142.       Width           =   510
  143.    End
  144.    Begin VB.Label Label2 
  145.       AutoSize        =   -1  'True
  146.       BackColor       =   &H00C0C0C0&
  147.       Caption         =   "Title:"
  148.       Height          =   195
  149.       Left            =   300
  150.       TabIndex        =   2
  151.       Top             =   600
  152.       Width           =   450
  153.    End
  154.    Begin VB.Label Label1 
  155.       AutoSize        =   -1  'True
  156.       BackColor       =   &H00C0C0C0&
  157.       Caption         =   "Author:"
  158.       Height          =   195
  159.       Left            =   300
  160.       TabIndex        =   0
  161.       Top             =   180
  162.       Width           =   630
  163.    End
  164. End
  165. Attribute VB_Name = "frmMain"
  166. Attribute VB_Creatable = False
  167. Attribute VB_Exposed = False
  168. Option Explicit
  169.  
  170. Private rs As Recordset
  171. Public SelectedPubID As Integer
  172.  
  173.  
  174. Private Sub Form_Load()
  175.     cmdPublisher_Click
  176. End Sub
  177. Private Sub cmdPublisher_Click()
  178.  
  179.     ' Show frmSelectPublisher to get a selection from the user.
  180.     frmSelectPublisher.Show 1
  181.     
  182.     If SelectedPubID > 0 Then
  183.     
  184.         ' The user selected a publisher, so run the query.
  185.         RunQuery
  186.         
  187.     Else
  188.     
  189.         ' The user did not select a publisher, so clear the form and
  190.         ' disable the browse buttons.
  191.         frmMain.Caption = "No Titles"
  192.         EnableBrowse False
  193.         ClearForm
  194.         
  195.     End If
  196. End Sub
  197.  
  198. Sub DisplayRecord()
  199.     If Not IsNull(rs![Author]) Then txtAuthor = rs![Author] Else txtAuthor = ""
  200.     If Not IsNull(rs![Title]) Then txtTitle = rs![Title] Else txtTitle = ""
  201.     If Not IsNull(rs![ISBN]) Then txtISBN = rs![ISBN] Else txtISBN = ""
  202.     If Not IsNull(rs![Year Published]) Then txtYearPublished = rs![Year Published] Else txtYearPublished = ""
  203.     If Not IsNull(rs![Company Name]) Then txtPublisher = rs![Company Name] Else txtPublisher = ""
  204. End Sub
  205. Private Sub cmdMove_Click(Index As Integer)
  206.     Const MOVE_FIRST = 0
  207.     Const MOVE_PREVIOUS = 1
  208.     Const MOVE_NEXT = 2
  209.     Const MOVE_LAST = 3
  210.     
  211.     Select Case Index
  212.         Case MOVE_FIRST
  213.             rs.MoveFirst
  214.         Case MOVE_LAST
  215.             rs.MoveLast
  216.         Case MOVE_PREVIOUS
  217.             rs.MovePrevious
  218.             If rs.BOF Then rs.MoveFirst
  219.         Case MOVE_NEXT
  220.             rs.MoveNext
  221.             If rs.EOF Then rs.MoveLast
  222.     End Select
  223.     DisplayRecord
  224.  
  225. End Sub
  226. Sub ClearForm()
  227.  
  228.     ' Clear all the text boxes.
  229.     txtAuthor = ""
  230.     txtTitle = ""
  231.     txtISBN = ""
  232.     txtYearPublished = ""
  233.     txtPublisher = ""
  234. End Sub
  235. Sub RunQuery()
  236.     Dim db As DATABASE
  237.     Dim dbName As String
  238.     Dim qd As QueryDef
  239.     
  240.     On Error GoTo QueryError
  241.     
  242.     ' Get the database name and open the database.
  243.     dbName = BiblioPath()       ' BiblioPath is a function in READINI.BAS
  244.     Set db = DBEngine.Workspaces(0).OpenDatabase(dbName)
  245.     
  246.     ' Open the query definition
  247.     Set qd = db.QueryDefs("Publisher's Titles By Author")
  248.     
  249.     ' Set the value of the query definition's Parameter object to
  250.     ' the PubID of the publisher selected by the user.
  251.     qd.PARAMETERS![Publisher] = SelectedPubID
  252.     
  253.     ' Open a recordset based on the query.
  254.     Set rs = qd.OpenRecordset()
  255.     If rs.RecordCount > 0 Then
  256.     
  257.         ' There's at least one record in the recordset, so update the
  258.         ' form and display the first record.
  259.         frmMain.Caption = Str$(rs.RecordCount) & _
  260.             IIf(rs.RecordCount = 1, " Title", " Titles")
  261.         EnableBrowse True
  262.         DisplayRecord
  263.     Else
  264.     
  265.         ' There are no titles in the recordset, so clear the form.
  266.         frmMain.Caption = "No Titles"
  267.         EnableBrowse False
  268.         ClearForm
  269.     End If
  270.     
  271. Exit Sub
  272.  
  273. QueryError:
  274.     MsgBox Error$, vbExclamation
  275. Exit Sub
  276. End Sub
  277. Sub EnableBrowse(enable As Boolean)
  278.     Dim i As Integer
  279.     
  280.     ' Enable or disable the browse buttons, based on the value of the
  281.     ' argument.
  282.     For i = 0 To 3
  283.         cmdMove(i).Enabled = enable
  284.     Next i
  285. End Sub
  286. Private Sub cmdClose_Click()
  287.     End
  288. End Sub
  289.  
  290.